#ifndef MPRPCAPPLICATION_H
#define MPRPCAPPLICATION_H

#include "mprpcconfig.h"
#include "mprpcchannel.h"
#include "mprpccontroller.h"

/* mprpc框架的基础类 负责框架的一些初始化操作*/
class MprpcApplication
{
public:
    static void Init(int argc, char **argv);
    static MprpcApplication & GetInstance();
    static MprpcConfig & GetConig();  // 返回配置类实例

private:
    static MprpcConfig m_config;  //mprpcconfig 类对象 c++11支持在成员变量处直接初始化 const
    MprpcApplication() = default;

    MprpcApplication(const MprpcApplication &) = delete;
    MprpcApplication &operator=(const MprpcApplication &) = delete;
    MprpcApplication(MprpcApplication &&) = delete;
};

#endif